﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace QLSV
{
    public partial class ThemDiemTP : Form
    {
        public ThemDiemTP()
        {
            InitializeComponent();
        }

        private SqlConnection Con;
        private DataTable Dt = new DataTable("SinhVien");
        private DataTable DtSV = new DataTable("SinhVien");
        private DataTable DtMH = new DataTable("MonHoc");
        private DataTable DtLO = new DataTable("Lop_Only");
        private DataTable DtDTP = new DataTable("DiemTP");
        private DataTable DtDTP1 = new DataTable("DiemTP");
        private DataTable DtDTP2 = new DataTable("DiemTP");
        private SqlDataAdapter Da = new SqlDataAdapter();
        private Boolean Kt, Kt1;

        private void Connect()
        {
            String Cn = "Data Source=LENOVOY510\\SQLEXPRESS;Initial Catalog=QLSV;Integrated Security=True";
            try
            {
                Con = new SqlConnection(Cn);
                Con.Open();
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Không Thể Kết Nối Đến Cơ Sở Dữ Liệu!", "Lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Error);

            }
        }

        private void DisConnect()
        {
            Con.Close();
            Con.Dispose();
            Con = null;
        }

        private void ThemDiemTP_Load(object sender, EventArgs e)
        {
            Connect();
            GetData();
            Binding();
        }

        private void GetData()
        {
            SqlCommand Com = new SqlCommand();
            Com.Connection = Con;
            Com.CommandType = CommandType.Text;
            Com.CommandText = "Select * from SinhVien";
            Da.SelectCommand = Com;
            Da.Fill(DtSV);

            Com.CommandText = "Select * from DiemTP";
            Da.SelectCommand = Com;
            Da.Fill(DtDTP1);

            Com.CommandText = "Select * from Lop_Only";
            Da.SelectCommand = Com;
            Da.Fill(DtLO);
            cbl.DataSource = DtLO;
            cbl.DisplayMember = "TenLop0";
            cbl.ValueMember = "MaLop0";
            cbl.SelectedValue = "MaLop0";

            Com.CommandText = "Select * from MonHoc";
            Da.SelectCommand = Com;
            Da.Fill(DtMH);
            cbmh.DataSource = DtMH;
            cbmh.DisplayMember = "TenMH";
            cbmh.ValueMember = "MaMH";
            cbmh.SelectedValue = "MaMH";

            Com.CommandType = CommandType.Text;
            Com.CommandText = @"Select MaSV as N'Mã Sinh Viên',
                                          Ho as N'Họ',
                                          Ten as N'Tên',
                                          GioiTinh as N'Giới Tính',
                                          NgaySinh as N'Ngày Sinh',
	                                      (year(getdate())-year(NgaySinh)) as N'Tuổi',
	                                      DiaChi as N'Địa Chỉ',
                                          QueQuan as N'Quê Quán',
                                          DanToc as N'Dân Tộc',
                                          TenLop0 as N'Lớp',
                                          ChuyenNganh as N'Chuyên Ngành'
                                   from SinhVien inner join SinhVien_Lop_Now
                                          on SinhVien.MaSV = SinhVien_Lop_Now.MaSV2                                                 
                                                 inner join Lop_Only
                                          on SinhVien_Lop_Now.MaLop2 = Lop_Only.MaLop0
                                                 full outer join Lop
                                          on SinhVien_Lop_Now.PS2 = Lop.PS";
            Da.SelectCommand = Com;
            Da.Fill(Dt);
            dgvtksv.DataSource = Dt;

            dgvtksv.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvtksv.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvtksv.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvtksv.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgvtksv.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvtksv.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvtksv.Columns[6].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvtksv.Columns[7].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvtksv.Columns[8].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvtksv.Columns[9].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvtksv.Columns[10].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

            Com.CommandText = @"select TenMH as N'Tên Môn Học',
                                           SoTC as N'Số Tín Chỉ',
                                           HocKy as N'Học Kỳ',
                                           CNganh as N'Chuyên Ngành' 
                                           from MonHoc";

            Da.SelectCommand = Com;
            Da.Fill(DtDTP);
            dgvmh.DataSource = DtDTP;         

            dgvmh.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvmh.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dgvmh.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
        }

        private void Binding()
        {
            txttkmsv.DataBindings.Clear();
            txttkmsv.DataBindings.Add("Text", dgvtksv.DataSource, "Mã Sinh Viên");
            txtthemmsv.DataBindings.Clear();
            txtthemmsv.DataBindings.Add("Text", dgvtksv.DataSource, "Mã Sinh Viên");
            cbmh.DataBindings.Clear();
            cbmh.DataBindings.Add("Text", dgvmh.DataSource, "Tên Môn Học");
            txttkl.DataBindings.Clear();
            txttkl.DataBindings.Add("Text", dgvtksv.DataSource, "Lớp");
            txttkcn.DataBindings.Clear();
            txttkcn.DataBindings.Add("Text", dgvtksv.DataSource, "Chuyên Ngành");
        }

        private void clicktimkiem1_Click(object sender, EventArgs e)
        {
            Dt.Clear();
            SqlCommand Com = new SqlCommand();
            Com.Connection = Con;
            Com.CommandType = CommandType.Text;

            if (txtmsv.Text != "" && txtt.Text != "" && cbl.Text != "")
            {
                Com.CommandText = @"Select MaSV as N'Mã Sinh Viên',
                                          Ho as N'Họ',
                                          Ten as N'Tên',
                                          GioiTinh as N'Giới Tính',
                                          NgaySinh as N'Ngày Sinh',
	                                      (year(getdate())-year(NgaySinh)) as N'Tuổi',
	                                      DiaChi as N'Địa Chỉ',
                                          QueQuan as N'Quê Quán',
                                          DanToc as N'Dân Tộc',
                                          TenLop0 as N'Lớp',
                                          ChuyenNganh as N'Chuyên Ngành'
                                   from SinhVien inner join SinhVien_Lop_Now
                                          on SinhVien.MaSV = SinhVien_Lop_Now.MaSV2                                                 
                                                 inner join Lop_Only
                                          on SinhVien_Lop_Now.MaLop2 = Lop_Only.MaLop0
                                                 full outer join Lop
                                          on SinhVien_Lop_Now.PS2 = Lop.PS
                                   where MaSV= @MaSV and Ten = @Ten and TenLop0 = @TenLop";

                Com.Parameters.Add("@MaSV", SqlDbType.NChar, 10).Value = txtmsv.Text;

                Com.Parameters.Add("@Ten", SqlDbType.NVarChar, 10).Value = txtt.Text;

                Com.Parameters.Add("@TenLop", SqlDbType.NVarChar, 10).Value = cbl.Text;

                Da.SelectCommand = Com;
                Da.Fill(Dt);

                if (Dt.Rows.Count > 0)
                {
                    dgvtksv.DataSource = Dt;
                }
                else
                {
                    MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                }
            }

            else if (txtmsv.Text != "" && txtt.Text == "" && cbl.Text == "")
            {
                Com.CommandText = @"Select MaSV as N'Mã Sinh Viên',
                                          Ho as N'Họ',
                                          Ten as N'Tên',
                                          GioiTinh as N'Giới Tính',
                                          NgaySinh as N'Ngày Sinh',
	                                      (year(getdate())-year(NgaySinh)) as N'Tuổi',
	                                      DiaChi as N'Địa Chỉ',
                                          QueQuan as N'Quê Quán',
                                          DanToc as N'Dân Tộc',
                                          TenLop0 as N'Lớp',
                                          ChuyenNganh as N'Chuyên Ngành'
                                   from SinhVien inner join SinhVien_Lop_Now
                                          on SinhVien.MaSV = SinhVien_Lop_Now.MaSV2                                                 
                                                 inner join Lop_Only
                                          on SinhVien_Lop_Now.MaLop2 = Lop_Only.MaLop0
                                                 full outer join Lop
                                          on SinhVien_Lop_Now.PS2 = Lop.PS
                                   where MaSV= @MaSV";

                Com.Parameters.Add("@MaSV", SqlDbType.NChar, 10).Value = txtmsv.Text;

                Da.SelectCommand = Com;
                Da.Fill(Dt);

                if (Dt.Rows.Count > 0)
                {
                    dgvtksv.DataSource = Dt;
                }
                else
                {
                    MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                }
            }

            else if (txtmsv.Text == "" && txtt.Text != "" && cbl.Text == "")
            {
                Com.CommandText = @"Select MaSV as N'Mã Sinh Viên',
                                          Ho as N'Họ',
                                          Ten as N'Tên',
                                          GioiTinh as N'Giới Tính',
                                          NgaySinh as N'Ngày Sinh',
	                                      (year(getdate())-year(NgaySinh)) as N'Tuổi',
	                                      DiaChi as N'Địa Chỉ',
                                          QueQuan as N'Quê Quán',
                                          DanToc as N'Dân Tộc',
                                          TenLop0 as N'Lớp',
                                          ChuyenNganh as N'Chuyên Ngành'
                                   from SinhVien inner join SinhVien_Lop_Now
                                          on SinhVien.MaSV = SinhVien_Lop_Now.MaSV2                                                 
                                                 inner join Lop_Only
                                          on SinhVien_Lop_Now.MaLop2 = Lop_Only.MaLop0
                                                 full outer join Lop
                                          on SinhVien_Lop_Now.PS2 = Lop.PS
                                   where Ten = @Ten";

                Com.Parameters.Add("@Ten", SqlDbType.NVarChar, 10).Value = txtt.Text;

                Da.SelectCommand = Com;
                Da.Fill(Dt);

                if (Dt.Rows.Count > 0)
                {
                    dgvtksv.DataSource = Dt;
                }
                else
                {
                    MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                }
            }

            else if (txtmsv.Text == "" && txtt.Text == "" && cbl.Text != "")
            {
                Com.CommandText = @"Select MaSV as N'Mã Sinh Viên',
                                          Ho as N'Họ',
                                          Ten as N'Tên',
                                          GioiTinh as N'Giới Tính',
                                          NgaySinh as N'Ngày Sinh',
	                                      (year(getdate())-year(NgaySinh)) as N'Tuổi',
	                                      DiaChi as N'Địa Chỉ',
                                          QueQuan as N'Quê Quán',
                                          DanToc as N'Dân Tộc',
                                          TenLop0 as N'Lớp',
                                          ChuyenNganh as N'Chuyên Ngành'
                                   from SinhVien inner join SinhVien_Lop_Now
                                          on SinhVien.MaSV = SinhVien_Lop_Now.MaSV2                                                 
                                                 inner join Lop_Only
                                          on SinhVien_Lop_Now.MaLop2 = Lop_Only.MaLop0
                                                 full outer join Lop
                                          on SinhVien_Lop_Now.PS2 = Lop.PS
                                   where TenLop0 = @TenLop";

                Com.Parameters.Add("@TenLop", SqlDbType.NVarChar, 10).Value = cbl.Text;

                Da.SelectCommand = Com;
                Da.Fill(Dt);

                if (Dt.Rows.Count > 0)
                {
                    dgvtksv.DataSource = Dt;
                }
                else
                {
                    MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                }
            }

            else if (txtmsv.Text != "" && txtt.Text != "" && cbl.Text == "")
            {
                Com.CommandText = @"Select MaSV as N'Mã Sinh Viên',
                                          Ho as N'Họ',
                                          Ten as N'Tên',
                                          GioiTinh as N'Giới Tính',
                                          NgaySinh as N'Ngày Sinh',
	                                      (year(getdate())-year(NgaySinh)) as N'Tuổi',
	                                      DiaChi as N'Địa Chỉ',
                                          QueQuan as N'Quê Quán',
                                          DanToc as N'Dân Tộc',
                                          TenLop0 as N'Lớp',
                                          ChuyenNganh as N'Chuyên Ngành'
                                   from SinhVien inner join SinhVien_Lop_Now
                                          on SinhVien.MaSV = SinhVien_Lop_Now.MaSV2                                                 
                                                 inner join Lop_Only
                                          on SinhVien_Lop_Now.MaLop2 = Lop_Only.MaLop0
                                                 full outer join Lop
                                          on SinhVien_Lop_Now.PS2 = Lop.PS
                                   where MaSV= @MaSV and Ten = @Ten";

                Com.Parameters.Add("@MaSV", SqlDbType.NChar, 10).Value = txtmsv.Text;

                Com.Parameters.Add("@Ten", SqlDbType.NVarChar, 10).Value = txtt.Text;

                Da.SelectCommand = Com;
                Da.Fill(Dt);

                if (Dt.Rows.Count > 0)
                {
                    dgvtksv.DataSource = Dt;
                }
                else
                {
                    MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                }
            }

            else if (txtmsv.Text != "" && txtt.Text == "" && cbl.Text != "")
            {
                Com.CommandText = @"Select MaSV as N'Mã Sinh Viên',
                                          Ho as N'Họ',
                                          Ten as N'Tên',
                                          GioiTinh as N'Giới Tính',
                                          NgaySinh as N'Ngày Sinh',
	                                      (year(getdate())-year(NgaySinh)) as N'Tuổi',
	                                      DiaChi as N'Địa Chỉ',
                                          QueQuan as N'Quê Quán',
                                          DanToc as N'Dân Tộc',
                                          TenLop0 as N'Lớp',
                                          ChuyenNganh as N'Chuyên Ngành'
                                   from SinhVien inner join SinhVien_Lop_Now
                                          on SinhVien.MaSV = SinhVien_Lop_Now.MaSV2                                                 
                                                 inner join Lop_Only
                                          on SinhVien_Lop_Now.MaLop2 = Lop_Only.MaLop0
                                                 full outer join Lop
                                          on SinhVien_Lop_Now.PS2 = Lop.PS
                                   where MaSV= @MaSV and TenLop0 = @TenLop";

                Com.Parameters.Add("@MaSV", SqlDbType.NChar, 10).Value = txtmsv.Text;

                Com.Parameters.Add("@TenLop", SqlDbType.NVarChar, 10).Value = cbl.Text;

                Da.SelectCommand = Com;
                Da.Fill(Dt);

                if (Dt.Rows.Count > 0)
                {
                    dgvtksv.DataSource = Dt;
                }
                else
                {
                    MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                }
            }

            else if (txtmsv.Text == "" && txtt.Text != "" && cbl.Text != "")
            {
                Com.CommandText = @"Select MaSV as N'Mã Sinh Viên',
                                          Ho as N'Họ',
                                          Ten as N'Tên',
                                          GioiTinh as N'Giới Tính',
                                          NgaySinh as N'Ngày Sinh',
	                                      (year(getdate())-year(NgaySinh)) as N'Tuổi',
	                                      DiaChi as N'Địa Chỉ',
                                          QueQuan as N'Quê Quán',
                                          DanToc as N'Dân Tộc',
                                          TenLop0 as N'Lớp',
                                          ChuyenNganh as N'Chuyên Ngành'
                                   from SinhVien inner join SinhVien_Lop_Now
                                          on SinhVien.MaSV = SinhVien_Lop_Now.MaSV2                                                 
                                                 inner join Lop_Only
                                          on SinhVien_Lop_Now.MaLop2 = Lop_Only.MaLop0
                                                 full outer join Lop
                                          on SinhVien_Lop_Now.PS2 = Lop.PS
                                   where Ten = @Ten and TenLop0 = @TenLop";

                Com.Parameters.Add("@Ten", SqlDbType.NVarChar, 10).Value = txtt.Text;

                Com.Parameters.Add("@TenLop", SqlDbType.NVarChar, 10).Value = cbl.Text;

                Da.SelectCommand = Com;
                Da.Fill(Dt);

                if (Dt.Rows.Count > 0)
                {
                    dgvtksv.DataSource = Dt;
                }
                else
                {
                    MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                }
            }

        }

        private void clicktimkiem2_Click(object sender, EventArgs e)
        {
            if(txttkl.Text == "Tin Học 12")
            {
                DtDTP.Clear();
                SqlCommand Com = new SqlCommand();
                Com.Connection = Con;
                Com.CommandType = CommandType.Text;

                if (txttkmsv.Text != "")
                {
                    Com.CommandText = @"select TenMH as N'Tên Môn Học',
                                           SoTC as N'Số Tín Chỉ',
                                           HocKy as N'Học Kỳ'
                                    from MonHoc 
                                    where MaMH not in
                                    (select DMaMH from DiemTP inner join MonHoc on DiemTP.DMaMH = MonHoc.MaMH where DMaSV = @DMaSV)
                                    and CNganh is null and MaMH < '109' and MaMH > '100'";

                    Com.Parameters.Add("@DMaSV", SqlDbType.NChar, 10).Value = txttkmsv.Text;

                    Da.SelectCommand = Com;
                    Da.Fill(DtDTP);

                    if (DtDTP.Rows.Count > 0)
                    {
                        dgvmh.DataSource = DtDTP;
                    }
                    else
                    {
                        MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                    }
                }
            }

            else if (txttkl.Text == "Tin Học 11")
            {
                DtDTP.Clear();
                SqlCommand Com = new SqlCommand();
                Com.Connection = Con;
                Com.CommandType = CommandType.Text;

                if (txttkmsv.Text != "")
                {
                    Com.CommandText = @"select TenMH as N'Tên Môn Học',
                                           SoTC as N'Số Tín Chỉ',
                                           HocKy as N'Học Kỳ'
                                    from MonHoc 
                                    where MaMH not in
                                    (select DMaMH from DiemTP inner join MonHoc on DiemTP.DMaMH = MonHoc.MaMH where DMaSV = @DMaSV)
                                    and CNganh is null and MaMH < '117' and MaMH > '100'";

                    Com.Parameters.Add("@DMaSV", SqlDbType.NChar, 10).Value = txttkmsv.Text;

                    Da.SelectCommand = Com;
                    Da.Fill(DtDTP);

                    if (DtDTP.Rows.Count > 0)
                    {
                        dgvmh.DataSource = DtDTP;
                    }
                    else
                    {
                        MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                    }
                }
            }

            else
            {
                DtDTP.Clear();
                SqlCommand Com = new SqlCommand();
                Com.Connection = Con;
                Com.CommandType = CommandType.Text;

                if (txttkmsv.Text != "")
                {
                    Com.CommandText = @"select TenMH as N'Tên Môn Học',
                                           SoTC as N'Số Tín Chỉ',
                                           HocKy as N'Học Kỳ'
                                    from MonHoc 
                                    where MaMH not in
                                    (select DMaMH from DiemTP inner join MonHoc on DiemTP.DMaMH = MonHoc.MaMH where DMaSV = @DMaSV)
                                    and CNganh is null and MaMH < '125' and MaMH > '100'";

                    Com.Parameters.Add("@DMaSV", SqlDbType.NChar, 10).Value = txttkmsv.Text;

                    Da.SelectCommand = Com;
                    Da.Fill(DtDTP);

                    if (DtDTP.Rows.Count > 0)
                    {
                        dgvmh.DataSource = DtDTP;
                    }
                    else
                    {
                        MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                    }
                }
            }
        }

        private void clicktimkiem3_Click(object sender, EventArgs e)
        {
            if (txttkl.Text == "Tin Học 9 ")
            {
                DtDTP.Clear();
                SqlCommand Com = new SqlCommand();
                Com.Connection = Con;
                Com.CommandType = CommandType.Text;

                if (txttkmsv.Text != "")
                {
                    Com.CommandText = @"select TenMH as N'Tên Môn Học',
                                           SoTC as N'Số Tín Chỉ',
                                           HocKy as N'Học Kỳ'
                                    from MonHoc 
                                    where MaMH not in
                                    (select DMaMH from DiemTP inner join MonHoc on DiemTP.DMaMH = MonHoc.MaMH where DMaSV = @DMaSV)
                                    and CNganh = @CNganh";

                    Com.Parameters.Add("@DMaSV", SqlDbType.NChar, 10).Value = txttkmsv.Text;
                    Com.Parameters.Add("@CNganh", SqlDbType.NVarChar, 30).Value = txttkcn.Text;

                    Da.SelectCommand = Com;
                    Da.Fill(DtDTP);

                    if (DtDTP.Rows.Count > 0)
                    {
                        dgvmh.DataSource = DtDTP;
                    }
                    else
                    {
                        MessageBox.Show("Không Tìm Thấy Dữ Liệu Phù Hợp!", "Thông Báo!", MessageBoxButtons.OK);
                    }
                }
            }
            else
            {
                MessageBox.Show("Sinh Viên Chưa Được Phân Chuyên Ngành!", "Thông Báo!", MessageBoxButtons.OK);
            }
        }

        private bool KiemTra1()
        {
            Kt1 = true;

            if (cbmh.Text == "")
            {
                MessageBox.Show("Bạn Chưa Chọn Môn Học!", "Thông Báo!", MessageBoxButtons.OK);
                Kt1 = false;
            }

            return Kt1;
        }

        private bool KiemTra()
        {
            Kt = true;

            float n1, n2, n3;

            if ((txths1.Text == "") && (txths2.Text == "") && (txths7.Text == ""))
            {
                MessageBox.Show("Chưa Nhập Đủ Điểm!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths1.Text != "") && (txths2.Text == "") && (txths7.Text == ""))
            {
                MessageBox.Show("Chưa Nhập Đủ Điểm!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths1.Text == "") && (txths2.Text != "") && (txths7.Text == ""))
            {
                MessageBox.Show("Chưa Nhập Đủ Điểm!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths1.Text == "") && (txths2.Text == "") && (txths7.Text != ""))
            {
                MessageBox.Show("Chưa Nhập Đủ Điểm!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths1.Text != "") && (txths2.Text != "") && (txths7.Text == ""))
            {
                MessageBox.Show("Chưa Nhập Đủ Điểm!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths1.Text != "") && (txths2.Text == "") && (txths7.Text != ""))
            {
                MessageBox.Show("Chưa Nhập Đủ Điểm!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths1.Text == "") && (txths2.Text != "") && (txths7.Text != ""))
            {
                MessageBox.Show("Chưa Nhập Đủ Điểm!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths1.Text != "") && ((n1 = float.Parse(txths1.Text)) < 0))
            {
                MessageBox.Show("Nhập Lại Điểm Hệ Số 1!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths1.Text != "") && ((n1 = float.Parse(txths1.Text)) > 1))
            {
                MessageBox.Show("Nhập Lại Điểm Hệ Số 1!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths2.Text != "") && ((n2 = float.Parse(txths2.Text)) < 0))
            {
                MessageBox.Show("Nhập Lại Điểm Hệ Số 2!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths2.Text != "") && ((n2 = float.Parse(txths2.Text)) > 2))
            {
                MessageBox.Show("Nhập Lại Điểm Hệ Số 2!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths7.Text != "") && ((n3 = float.Parse(txths7.Text)) < 0))
            {
                MessageBox.Show("Nhập Lại Điểm Hệ Số 7!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            else if ((txths7.Text != "") && ((n3 = float.Parse(txths7.Text)) > 7))
            {
                MessageBox.Show("Nhập Lại Điểm Hệ Số 7!", "Thông Báo!", MessageBoxButtons.OK);
                Kt = false;
            }

            return Kt;
        }

        private void clickthem_Click(object sender, EventArgs e)
        {
            KiemTra1();            
            if (Kt1 == true)
            {               
                KiemTra();
                if (Kt == true)
                {
                    DataRow DtR = DtDTP1.NewRow();
                    DtR["DMaSV"] = txtthemmsv.Text;
                    DtR["DMaMH"] = cbmh.SelectedValue;
                    DtR["DiemHS1"] = txths1.Text;
                    DtR["DiemHS2"] = txths2.Text;
                    DtR["DiemHS7"] = txths7.Text;
                    DtDTP1.Rows.Add(DtR);
                    SqlCommand ComInsert = new SqlCommand();
                    ComInsert.Connection = Con;
                    ComInsert.CommandType = CommandType.Text;
                    ComInsert.CommandText = @"Insert DiemTP (DMaSV, DMaMH, DiemHS1, DiemHS2, DiemHS7,DiemTB10, DiemTB4, DiemTBChu)
                                          Values (@DMaSV, @DMaMH, @DiemHS1, @DiemHS2, @DiemHS7, @DiemTB10, @DiemTB4, @DiemTBChu)";
                    ComInsert.Parameters.Add("@DMaSV", SqlDbType.NChar, 10, "DMaSV");
                    ComInsert.Parameters.Add("@DMaMH", SqlDbType.NChar, 10, "DMaMH");
                    ComInsert.Parameters.Add("@DiemHS1", SqlDbType.Float, 30, "DiemHS1");
                    ComInsert.Parameters.Add("@DiemHS2", SqlDbType.Float, 30, "DiemHS2");
                    ComInsert.Parameters.Add("@DiemHS7", SqlDbType.Float, 30, "DiemHS7");

                    float a = float.Parse(txths1.Text);
                    float b = float.Parse(txths2.Text);
                    float c = float.Parse(txths7.Text);

                    if (a != 0 && c >= 4)
                    {
                        float DTB10 = a + b + c;

                        string DiemTB10 = String.Format("{0:0.0}", DTB10);

                        ComInsert.Parameters.Add("@DiemTB10", SqlDbType.Float, 30).Value = DiemTB10;

                        if (DTB10 < 4)
                        {
                            ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "F";
                            ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 0;
                        }
                        else if ((DTB10 >= 4) && (DTB10 < 5))
                        {
                            ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "D";
                            ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 1;
                        }
                        else if ((DTB10 >= 5) && (DTB10 < 5.5))
                        {
                            ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "D+";
                            ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 1.5;
                        }
                        else if ((DTB10 >= 5.5) && (DTB10 < 6.5))
                        {
                            ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "C";
                            ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 2;
                        }
                        else if ((DTB10 >= 6.5) && (DTB10 < 7))
                        {
                            ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "C+";
                            ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 2.5;
                        }
                        else if ((DTB10 >= 7) && (DTB10 < 8))
                        {
                            ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "B";
                            ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 3;
                        }
                        else if ((DTB10 >= 8) && (DTB10 < 8.5))
                        {
                            ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "B+";
                            ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 3.5;
                        }
                        else if ((DTB10 >= 8.5) && (DTB10 < 9))
                        {
                            ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "A";
                            ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 3.7;
                        }
                        else if (DTB10 >= 9)
                        {
                            ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "A+";
                            ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 4;
                        }
                    }
                    else
                    {
                        ComInsert.Parameters.Add("@DiemTBChu", SqlDbType.NVarChar, 10).Value = "F";
                        ComInsert.Parameters.Add("@DiemTB4", SqlDbType.Float, 30).Value = 0;
                        ComInsert.Parameters.Add("@DiemTB10", SqlDbType.Float, 30).Value = 0;
                    }

                    Da.InsertCommand = ComInsert;
                    Da.Update(DtDTP1);

                    MessageBox.Show("Thêm Thành Công!", "Thông Báo!", MessageBoxButtons.OK);

                    DtDTP.Clear();
                    Da.Fill(DtDTP);
                }
            }
        }

        private void clickthoat_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Bạn Có Muốn Thoát Không?", "Thoát!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                Close();
                Dispose();
            }
        }
    }
}
